import typing

from app.models.my_application_models import UserApplyDetail
from app.schemas.point_management.my_application_schemas import UserApplyDetailSchemas


class UserApplyDetailService:
    @staticmethod
    async def list(params: UserApplyDetailSchemas) -> typing.Dict:
        """
        获取详情列表
        :param params:
        :return:
        """
        data = await UserApplyDetail.get_user_apply_detail_list(params)
        return data

    @staticmethod
    async def statistics_list(params: UserApplyDetailSchemas) -> typing.Dict:
        """
        获取统计列表
        :param params:
        :return:
        """
        data = await UserApplyDetail.get_user_apply_statistics_list(params)
        return data

    @staticmethod
    async def points_rank(params: UserApplyDetailSchemas) -> typing.Dict:
        """
        积分排行榜
        :param params:
        :return:
        """
        data = await UserApplyDetail.get_points_rank(params)
        return data
